package ud12.adapter.translator;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class IdiomaAdapterFactory {

	private ITraductor adapterIdiomas;
/* Haciendo el constructor privado y el atributo privado, creamos un singleton
 * para que solo se pueda crear un objeto de la clase IdiomaAdapterFactory*/	

	public ITraductor getTraductor() {

		if (adapterIdiomas == null) {
			FileReader fileReader = null;

			// carga del fichero
			try {
				fileReader = new FileReader(
						"src/ud12/adapter/translator/dat/idioma.ini");
			} catch (FileNotFoundException e) {

				System.out.println("Error al abrir archivo");
				e.printStackTrace();
			}

			// Apertura del fichero
			BufferedReader bufferedReader = new BufferedReader(fileReader);

			String nombreAdaptador = "";
			try {
				nombreAdaptador = bufferedReader.readLine();
			} catch (IOException e1) {
				e1.printStackTrace();
			}

			// carga del adaptador
			try {
				adapterIdiomas = (ITraductor) Class.forName(nombreAdaptador)
						.newInstance();
			} catch (InstantiationException e) {
				e.printStackTrace();
			} catch (IllegalAccessException e) {
				e.printStackTrace();
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			}
		}
		return adapterIdiomas;

	}
}
